Networks of computers that support of business activities are often composed of a multitude of infrastructure devices. These infrastructure devices may provide, for example, a method of combining several physically different networking technologies to appear virtually as one cohesive network. The infrastructure devices may also provide methods of controlling the flow of data to ensure the network operates securely and efficiently. Data flow between network-aware applications and services may be “invisibly” facilitated, in part, by these network infrastructure devices. Examples of network infrastructure devices may include but are not limited to load-balancers, routers, switches, and firewalls. These infrastructure devices may be referred to in this disclosure as simply “network communication devices” and are often critical to network operations. Devices critical to the network infrastructure generally are deployed with redundancy, for example, to prevent a single point of failure in the network. A redundancy, for example, may mean, that multiple devices are deployed where at least one is active and at least one is in a “hot stand-by” mode, ready to take over should the primary device fail. Sometimes, a single network communication device may act as a standby (or backup) for more than one primary device.
Failures of critical networking infrastructure devices are not limited to functional failure due to hardware and may also experience a software error or malfunction because of a failed configuration setting. Any network, regardless of complexity or size, may need maintenance and configuration changes as the networking needs for the entity operating the network evolve. Updates to configuration may include incorporating new networking devices, linking new networks to the existing network, or even simply removing devices that are obsolete. Configuration changes to existing infrastructure devices are one aspect of this maintenance, and the changes are often applied to a multitude of devices nearly instantaneously (e.g., a single configuration change may impact multiple network communication devices). These configuration changes to infrastructure devices, if done improperly, may inadvertently cause a network failure. Failures due to misconfiguration may be avoided through techniques that allow for testing and/or pre-validation of proposed configurations (e.g., after applying a configuration change). In the event pre-validation does not prevent a misconfiguration of a network infrastructure device, the negative effects of the misconfiguration may be mitigated by allowing infrastructure devices to recall and apply the previously known-working configuration (e.g., perform a “roll-back” to a previous configuration).